package com.xd.core.bill.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * <p>
 * 提前还款分页查询返回vo
 * </p>
 *
 * @author ZCH
 * @since 2025/03/03/16:46
 */
@Data
@Accessors(chain = true)
public class EarlyRepaymentPageVo {

    @ApiModelProperty(value = "债权ID")
    @ExcelIgnore
    private Integer debtId;

    @ApiModelProperty(value = "企业ID")
    @ExcelIgnore
    private Integer companyId;

    @ApiModelProperty(value = "债权方机构名称")
    @ExcelProperty(value = "债权方机构名称")
    private String companyName;

    @ApiModelProperty(value = "进件ID")
    @ExcelIgnore
    private Integer incomingId;

    @ApiModelProperty(value = "合同编号")
    @ExcelProperty("借款合同编号")
    private String contractNo;

    @ApiModelProperty(value = "客户姓名")
    @ExcelProperty("客户姓名")
    private String name;

    @ApiModelProperty(value = "客户手机号")
    @ExcelProperty("客户手机号")
    private String phone;

    @ApiModelProperty(value = "提前还款类型 1:正常提前还款 2:逾期提前还款")
    @ExcelIgnore
    private String isNormal;

    @ApiModelProperty(value = "提前还款类型 1:正常提前还款 2:逾期提前还款")
    @ExcelProperty("提前还款类型")
    private String isNormalRemark;

    @ApiModelProperty(value = "提前还款日")
    @ExcelProperty("提前还款日")
    private String earlyDate;

    @ApiModelProperty(value = "逾期日期")
    @ExcelProperty("逾期日期")
    private String lateDate;

    @ApiModelProperty(value = "订单状态  1:还款中 2:已结清 3:已逾期")
    @ExcelIgnore
    private String orderStatus;

    @ApiModelProperty(value = "订单状态  1:还款中 2:已结清 3:已逾期")
    @ExcelProperty("订单状态")
    private String orderStatusRemark;

    @ApiModelProperty(value = "现债权方")
    @ExcelProperty("现债权方")
    private String originalCreditor;

    @ApiModelProperty(value = "借款方式 0:等额本金 1:等额本息 2:等本等息 3:到期还本付息 4:先息后本")
    @ExcelIgnore
    private String loanMethod;

    @ApiModelProperty(value = "借款方式 0:等额本金 1:等额本息 2:等本等息 3:到期还本付息 4:先息后本")
    @ExcelProperty("借款方式")
    private String loanMethodRemark;

    @ApiModelProperty(value = "是否代收(0--代收,1--不代收)")
    @ExcelIgnore
    private String isWithhold;

    @ApiModelProperty(value = "是否代收(0--代收,1--不代收)")
    @ExcelProperty("是否平台代扣")
    private String isWithholdRemark;

    @ApiModelProperty(value = "是否申请线下还款 0:否 1:是")
    @ExcelIgnore
    private String isOfflineRepay;

    @ApiModelProperty(value = "是否申请线下还款 0:否 1:是")
    @ExcelProperty("是否申请线下还款")
    private String isOfflineRepayRemark;

    @ApiModelProperty(value = "结清还款金额")
    @ExcelProperty("结清还款金额")
    private BigDecimal totalAmount;

    @ApiModelProperty(value = "剩余应还总金额")
    @ExcelProperty("剩余应还总金额")
    private BigDecimal remainingShouldRepayAmount;

    @ApiModelProperty(value = "公证执行书申请状态(0:未办理 1:办理申请中 2:办理完成)")
    @ExcelIgnore
    private String certificationApplyStatus;

    @ApiModelProperty(value = "公证执行书申请状态(0:未办理 1:办理申请中 2:办理完成)")
    @ExcelProperty("公证执行书申请状态")
    private String certificationApplyStatusRemark;

    @ApiModelProperty(value = "争议方式(1--公证,2--仲裁,3--诉讼)")
    @ExcelIgnore
    private String controversy;

    @ApiModelProperty(value = "放款id")
    private Integer outId;

    @ApiModelProperty(value = "付款通道(1-通道一，2-通道二)")
    private String payPass;
}
